python炒股可行吗 | 您所在的位置:网站首页 › python 可以用来炒股吗 › python炒股可行吗 |
由于小编并无深厚的数学功底也无深厚的金融知识, 所以不会在本文中引用各种高深的投资模型或数学模型。 交易系统 这里的交易系统不一定是程序,只是指你自己的交易原则或者遵守的一些技巧或者方法,你可以手动执行也可以借助编程语言,编程语言不就是一套用来使用的工具么。 建立一个完善的交易体系,我们至少应该思考一下六个方面。 1、市场----买卖什么 2、头寸规模----买卖多少 3、入市----何时买入 4、止损----何时退出亏损的头寸 5、止盈----何时退出盈利的头寸 6、离市----何时离市 简单的示例 买卖A股 全仓 当日涨幅超过3%买入。 当持有头寸亏损超过3%,平仓 当日跌幅大于3%或者三个连续阴线 分析: 这个交易策略其实只有在行情以波浪形状向上的行情时候才能获利,如果是盘整的情况下,怕是会亏的很惨。这里之所以写的这么简单粗暴是为了后面策略测试撸代码简单。 数据获取及处理 因为这里说的是用python炒股,所以应该采用程序的方式去获取数据,如果人工炒股,下载任何股票行情软件都是可以的,但是人工的执行是需要花费比较多的精力的。 而python语言中用于获取股票行情数据的库,最有名莫过于tushare了。 这里以上证乐视的股票为例吧。 python环境安装 安装Anaconda(python2版本) 注:如果没安装过这个环境的经验,就百度或者谷歌一下吧,如果不是安装anaconda则需要艰难的自行解决依赖。 安装tushare pip install tushare 获取行情数据 import pandas as pd import tushare as ts # 通过股票代码获取股票数据,这里没有指定开始及结束日期 df = ts.get_k_data("300104") # 查看前十条数据 df.head() # 查看后十条数据 df.tail() # 将数据的index转换成date字段对应的日期 df.index = pd.to_datetime(df.date) # 将多余的date字段删除 df.drop("date", inplace=True, axis=1) 注:关于股票数据的相关处理需要由pandas,matplotlib的知识,参考:http://pandas.pydata.org/pandas-docs/version/0.20/10min.html 计算常用指标 # 计算5,15,50日的移动平均线, MA5, MA15, MA50 days = [5, 15, 50] for ma in days: column_name = "MA{}".format(ma) df[column_name] = pd.rolling_mean(df.close, ma) # 计算浮动比例 df["pchange"] = df.close.pct_change() # 计算浮动点数 df["change"] = df.close.diff() 最终处理完成后的结果如下: df.head() Out[13]: open close high low volume code MA5 MA15 MA50 \ date 2013-11-29 9.396 9.741 9.870 9.389 146587.0 300104 NaN NaN NaN 2013-12-02 9.298 8.768 9.344 8.768 177127.0 300104 NaN NaN NaN 2013-12-03 8.142 8.414 8.546 7.890 176305.0 300104 NaN NaN NaN 2013-12-04 8.391 8.072 8.607 8.053 120115.0 300104 NaN NaN NaN 2013-12-05 7.983 7.366 8.108 7.280 253764.0 300104 8.4722 NaN NaN pchange change date 2013-11-29 NaN NaN 2013-12-02 -0.099887 -0.973 2013-12-03 -0.040374 -0.354 2013-12-04 -0.040647 -0.342 可视化走势图 所谓一图胜前言,将数据可视化可以非常直观的感受到股票的走势。 个人觉得,如果用程序炒股还是应该一切都量化的,不应该有过多的主观观点,如果过于依赖直觉或者当时心情,那么实在没必要用程序分析了。 df[["close", "MA5", "MA15", "MA50"]].plot(figsiz=(10,18)) 效果如下: 用python炒股 k线图 import matplotplib.pyplot as plt from matplotlib.daet import DateFormatter from matplotlib.finance impor |
CopyRight 2018-2019 实验室设备网 版权所有 |